在想題目時,在懊惱要寫什麼,做了許多的聯想,有加解密、判斷空白字元、QRcode、Javascript、MySQL等等‧‧‧
那還有什麼相關的還沒寫到的呢...咦? MySQL...資料庫,突然想到先前有用PHP去連結SQL Server,那就決定今天用這個主題好了
寫此文時的環境說明:Apache2.4、PHP5.4
Step1. 下載必要檔案
Microsoft Drivers 3.0 for PHP for SQL Server
http://www.microsoft.com/en-us/download/details.aspx?id=20098
(若是SQL Server 2014 則不用下載安裝此套件)
Microsoft SQL Server 2012 Native Client
X86 封裝 (SqlCmdLnUtils.msi)
X64 封裝 (SqlCmdLnUtils.msi)
適用於 Visual Studio 2013 的 Visual C++ 可轉散發套件 (視Apache位元版本下載)
http://www.microsoft.com/zh-tw/download/details.aspx?id=40784
(註:MSVCP110.dll Missing問題)
Step2. 安裝Microsoft SQL Server 2012 Native Client
Step3. 執行Microsoft Drivers 3.0 for PHP for SQL Server
執行後,會產生SQLSRV30資料夾,內有php_pdo_sqlsrv與php_sqlsrv的dll檔
Step4. 複製dll檔到ext資料夾
觀看C:\WAMP\php5.4內檔案,是Thread Safe(php5ts.dll)還是Non Thread Safe(php5.dll)
此次示範是Thread Safe(php5ts.dll),因此複製php_pdo_sqlsrv_54_ts.dll及php_sqlsrv_54_ts.dll到C:\WAMP\php5.4\ext內
Step5. 設定php.ini
首先,複製一份php.ini-development,並重新命名為php.ini
接著編輯php.ini,設定extension_dir=為extension_dir = "C:/WAMP/php5.4/ext"
接著在增加以下兩行:
extension=php_sqlsrv_54_ts.dll
extension=php_pdo_sqlsrv_54_ts.dll
Step6. 重新啟動Apache Web Server
(此處要是80Port被SYSTEM佔去的話,請參考以下做法:
Step7. 建立測試連結用的PHP檔案(mssql_test)
如下程式內碼:
(參考連結:http://php.net/manual/en/function.sqlsrv-connect.php)
「mssql_test.php」
$connectionInfo處要改為自己的連線資訊
Example:
$connectionInfo=array("Database"=>"ithome_test","UID"=>"sa","PWD"=>"mssql_test","CharacterSet" => "UTF-8");
<?php
header("Content-Type:text/html; charset=utf-8");
$serverName="(IP位置或127.0.0.1-serverName)\SQLEXPRESS, (通訊埠Port)";
$connectionInfo=array("Database"=>"資料庫名稱dbName","UID"=>"使用者名稱userName","PWD"=>"使用者密碼password","CharacterSet" => "UTF-8(編碼)");
$conn=sqlsrv_connect($serverName,$connectionInfo);
if($conn){
echo "Success!!!";
}else{
echo "Error!!!<br />";
die(print_r(sqlsrv_errors(),true));
}
?>
接著開啟瀏覽器http://localhost/mssql_test.php
要是成功會顯示「Success!!!」
要是失敗會顯示「Error!!!」及錯誤訊息
作者你好,我按照上述步驟打完之後,卻跳出一個錯誤訊息
(Warning)
PHP Startup: Unable to load dynamic library
'c:/wamp/bin/php/php5.5.12/ext/php_sqlsrv_55_ts.dll' - %1 不是有效的Win32應用程式。
請問這要怎麼解決呢?
OS:win8.1
最新版的64位元wamp
php5.5.12
apache2.4.9
請到這邊Microsoft Drivers for PHP for SQL Server
http://www.microsoft.com/en-us/download/details.aspx?id=20098
下載Microsoft Drivers 3.1
內有php_sqlsrv_55_ts.dll,嘗試測試看看
作者你好,我按照上述步驟打完之後,卻跳出一個錯誤訊息
(Warning)
PHP Startup: Unable to load dynamic library
'c:/wamp/bin/php/php5.5.12/ext/php_sqlsrv_55_ts.dll' - %1 不是有效的Win32應用程式。
請問這要怎麼解決呢?
OS:win8.1
最新版的64位元wamp
php5.5.12
apache2.4.9
請到這邊Microsoft Drivers for PHP for SQL Server
http://www.microsoft.com/en-us/download/details.aspx?id=20098
下載Microsoft Drivers 3.1
內有php_sqlsrv_55_ts.dll,嘗試測試看看
作者你好,我按照上述步驟打完之後,卻跳出一個錯誤訊息
(Warning)
PHP Startup: Unable to load dynamic library
'c:/wamp/bin/php/php5.5.12/ext/php_sqlsrv_55_ts.dll' - %1 不是有效的Win32應用程式。
請問這要怎麼解決呢?
OS:win8.1
最新版的64位元wamp
php5.5.12
apache2.4.9
請到這邊Microsoft Drivers for PHP for SQL Server
http://www.microsoft.com/en-us/download/details.aspx?id=20098
下載Microsoft Drivers 3.1
內有php_sqlsrv_55_ts.dll,嘗試測試看看
作者你好,我按照上述步驟打完之後,卻跳出一個錯誤訊息
(Warning)
PHP Startup: Unable to load dynamic library
'c:/wamp/bin/php/php5.5.12/ext/php_sqlsrv_55_ts.dll' - %1 不是有效的Win32應用程式。
請問這要怎麼解決呢?
OS:win8.1
最新版的64位元wamp
php5.5.12
apache2.4.9
請到這邊Microsoft Drivers for PHP for SQL Server
http://www.microsoft.com/en-us/download/details.aspx?id=20098
下載Microsoft Drivers 3.1
內有php_sqlsrv_55_ts.dll,嘗試測試看看
作者你好,我按照上述步驟打完之後,卻跳出一個錯誤訊息
(Warning)
PHP Startup: Unable to load dynamic library
'c:/wamp/bin/php/php5.5.12/ext/php_sqlsrv_55_ts.dll' - %1 不是有效的Win32應用程式。
請問這要怎麼解決呢?
OS:win8.1
最新版的64位元wamp
php5.5.12
apache2.4.9
請到這邊Microsoft Drivers for PHP for SQL Server
http://www.microsoft.com/en-us/download/details.aspx?id=20098
下載Microsoft Drivers 3.1
內有php_sqlsrv_55_ts.dll,嘗試測試看看
作者你好,我按照上述步驟打完之後,卻跳出一個錯誤訊息
(Warning)
PHP Startup: Unable to load dynamic library
'c:/wamp/bin/php/php5.5.12/ext/php_sqlsrv_55_ts.dll' - %1 不是有效的Win32應用程式。
請問這要怎麼解決呢?
OS:win8.1
最新版的64位元wamp
php5.5.12
apache2.4.9
請到這邊Microsoft Drivers for PHP for SQL Server
http://www.microsoft.com/en-us/download/details.aspx?id=20098
下載Microsoft Drivers 3.1
內有php_sqlsrv_55_ts.dll,嘗試測試看看
作者你好,我按照上述步驟打完之後,卻跳出一個錯誤訊息
(Warning)
PHP Startup: Unable to load dynamic library
'c:/wamp/bin/php/php5.5.12/ext/php_sqlsrv_55_ts.dll' - %1 不是有效的Win32應用程式。
請問這要怎麼解決呢?
OS:win8.1
最新版的64位元wamp
php5.5.12
apache2.4.9
請到這邊Microsoft Drivers for PHP for SQL Server
http://www.microsoft.com/en-us/download/details.aspx?id=20098
下載Microsoft Drivers 3.1
內有php_sqlsrv_55_ts.dll,嘗試測試看看
作者你好,我按照上述步驟打完之後,卻跳出一個錯誤訊息
(Warning)
PHP Startup: Unable to load dynamic library
'c:/wamp/bin/php/php5.5.12/ext/php_sqlsrv_55_ts.dll' - %1 不是有效的Win32應用程式。
請問這要怎麼解決呢?
OS:win8.1
最新版的64位元wamp
php5.5.12
apache2.4.9
chiahung79http://www.microsoft.com/en-us/download/details.aspx?id=20098提到:
請到這邊Microsoft Drivers for PHP for SQL Server
http://www.microsoft.com/en-us/download/details.aspx?id=20098下載Microsoft Drivers 3.1
內有php_sq...(恕刪)
作者你好,我按照上述步驟打完之後,卻跳出一個錯誤訊息
(Warning)
PHP Startup: Unable to load dynamic library
'c:/wamp/bin/php/php5.5.12/ext/php_sqlsrv_55_ts.dll' - %1 不是有效的Win32應用程式。
請問這要怎麼解決呢?
OS:win8.1
最新版的64位元wamp
php5.5.12
apache2.4.9
請到這邊Microsoft Drivers for PHP for SQL Server
http://www.microsoft.com/en-us/download/details.aspx?id=20098
下載Microsoft Drivers 3.1
內有php_sqlsrv_55_ts.dll,嘗試測試看看
怎麼刪留言啊,抱歉,不太會留言,一次按太多...OTZ
那我也只能細細一個個回答了~
Sorry,先前沒看到通知,晚回答了
嘗試看看吧
您好,我照著上面的步驟執行過後,確定每一步都有做到,重啟xampp後
得到的錯誤訊息是Call to undefined function sqlsrv_connect()
環境:XAMPP3.2.2
OS:WIN7 64bits
調閱phpinfo之後發現
請問還有什麼地方有疑漏的嗎?
後來我稍微查了一下,
發現板主說的Microsoft Drivers 3.0 for PHP for SQL Server
要安裝SQLSRV32版本的56(要記得連帶php.ini裡面的設定也要改),
之後還要安裝ODBC Driver
之後才可以正常連線
是的,不好意思,晚上來看問題了
感謝您提供的問題語回答,受益了